perm filename RANDOM.SAI[SYS,BGB]1 blob sn#001410 filedate 1972-08-31 generic text, type T, neo UTF8
00100	ENTRY RANDOM;
00200	BEGIN	"RANDOM"
00400		SAFE INTEGER ARRAY RAN5[0:255];
00500		INTEGER RAN1,RAN2,RAN3,RAN4,INITFLG;
00600	PROCEDURE RANDOMI;
00700	BEGIN	"INIT"
00900		INTEGER I;
01000		RAN1←1;
01100		RAN2←3; 
01200		FOR I←0 STEP 1 UNTIL 255 DO
01300		RAN5[I]←RAN2←(RAN2*3)MOD 2↑31 ;
01350		INITFLG	←	TRUE;
01400	END	"INIT";
01500	
01600	INTERNAL REAL PROCEDURE RANDOM;
01700	BEGIN	"RANDOM"
01800		IF INITFLG THEN ELSE RANDOMI;
02000		RAN1←(RAN2*1756) MOD 8191;
02100		RAN3←RAN1 DIV 32;
02200		RAN4←RAN5[RAN3];
02300		RAN2←RAN5[RAN3]←(RAN2*3)MOD 2↑31;
02400		RETURN(RAN4/2↑31)
02500	END	"RANDOM";
02600	
02700	END	"RANDOM"